package pers.lc.testDataGenerator.data;

import pers.lc.testDataGenerator.rule.ColumnRangeRule;
import pers.lc.testDataGenerator.rule.ColumnSetRule;

import java.io.Serializable;
import java.util.List;

/**
 * 传入数据属性
 */
public class ColumnData implements Serializable {
    private static final long serialVersionUID = 1693214913807L;
    private String columnName; // 字段名
    private String columnType; // 字段类型
    private String columnValue; // 精确值
    private String formatter; // 格式
    private List<String> columnSet; // 可选集合
    private ColumnSetRule columnSetRule; // 集合选取规则
    private String columnValueFrom;
    private String columnValueTo; // 值范围
    private ColumnRangeRule columnRangeRule;// 范围选取规则
    private Struction struction; // 字段结构
    public ColumnData() {

    }

    public ColumnData(String columnName, String columnType) {
        this.columnName = columnName;
        this.columnType = columnType;
    }

    public ColumnData(String columnName, String columnType, String columnValue) {
        this.columnName = columnName;
        this.columnType = columnType;
        this.columnValue = columnValue;
    }

    public ColumnData(String columnName, String columnType, List<String> columnSet, ColumnSetRule columnSetRule) {
        this.columnName = columnName;
        this.columnType = columnType;
        this.columnSet = columnSet;
        this.columnSetRule = columnSetRule;
    }

    public ColumnData(String columnName, String columnType, String columnValueFrom, String columnValueTo, ColumnRangeRule columnRangeRule) {
        this.columnName = columnName;
        this.columnType = columnType;
        this.columnValueFrom = columnValueFrom;
        this.columnValueTo = columnValueTo;
        this.columnRangeRule = columnRangeRule;
    }
    public ColumnData(String columnName, String columnType,String formatter,String columnValueFrom, String columnValueTo, ColumnRangeRule columnRangeRule) {
        this.columnName = columnName;
        this.columnType = columnType;
        this.formatter = formatter;
        this.columnValueFrom = columnValueFrom;
        this.columnValueTo = columnValueTo;
        this.columnRangeRule = columnRangeRule;
    }

    public String getColumnName() {
        return columnName;
    }

    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }

    public ColumnSetRule getColumnSetRule() {
        return columnSetRule;
    }

    public ColumnRangeRule getColumnRangeRule() {
        return columnRangeRule;
    }

    public void setColumnRangeRule(ColumnRangeRule columnRangeRule) {
        this.columnRangeRule = columnRangeRule;
    }

    public String getColumnValueTo() {
        return columnValueTo;
    }

    public void setColumnValueTo(String columnValueTo) {
        this.columnValueTo = columnValueTo;
    }

    public String getColumnValueFrom() {
        return columnValueFrom;
    }

    public void setColumnValueFrom(String columnValueFrom) {
        this.columnValueFrom = columnValueFrom;
    }

    public void setColumnSetRule(ColumnSetRule columnSetRule) {
        this.columnSetRule = columnSetRule;
    }

    public List<String> getColumnSet() {
        return columnSet;
    }

    public void setColumnSet(List<String> columnSet) {
        this.columnSet = columnSet;
    }

    public String getColumnValue() {
        return columnValue;
    }

    public void setColumnValue(String columnValue) {
        this.columnValue = columnValue;
    }

    public String getColumnType() {
        return columnType;
    }

    public void setColumnType(String columnType) {
        this.columnType = columnType;
    }

    public String getFormatter() {
        return formatter;
    }

    public void setFormatter(String formatter) {
        this.formatter = formatter;
    }
}
